<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数据类型及其转换</title>
</head>
<body>
  <script>
    //数据类型
    //基本数据类型：number数值型、string字符型、boolean布尔型、undefined未定义型、null空类型
    //引用数据类型：object对象
    //number数值型
    //NaN代表一个计算错误，它是一个不正确的或者一个未定义的数学操作所得到的结果

    //对话框输入圆的半径，页面显示圆的半径
    //  let r = prompt('请输入圆的半径')
    //  const PI = 3.14
    //  let R = r*r* PI
    //  document.write(R)

     //string字符型
     //引号必须成对使用
     //单引号/双引号可以互相嵌套，不可以自己嵌套自己。(外双内单，外单内双)
     //必要时可以使用转义字符\，输出单引号或双引号
    //  let str1 = 'word'
    //  let str2 = "hello"
    //  let str3 = `https` //反引号
    //  let str4 = '' //空串

    //字符串的拼接
    //字符串拼接字符串
    // str2 = str2 + str1
    // console.log(str2)
      
    //模板(格式化)字符串:字符串拼接变量
    // let uname = prompt('请输入你的名字') 
    // let age = prompt('请输入你的年龄')
    // document.write(`大家好，我叫${uname},今年${age}岁了`)
    //布尔型
    //固定为true或flast

    //未定义类型：表示没有赋值
    //固定为undefined，只声明变量，不赋值的情况下，变量的默认值为undefined
     
    //空类型:赋值了，但是内容为空
    //  let obj = null

    //typeof:返回变量的数据类型
    // let age =18
    // console.log(typeof age)

    //类型转换
    //隐式转换：某些运算符被执行时，系统内部自动将数据类型进行转换
    //规则：加号两边只要有一个是字符串，都会将另一个转成字符串类型
    //      除了加号以外的算数运算符都会把数据转成数字类型

    //显式转换：转换类型（待转换的变量）
    // let age1 = '18'
    // let age2 = '18.32'
    // age1 = Number(age1)
    // console.log(typeof age1)
    // //parseInt()只保留整数
    // parseInt(age2)
    // //parseFloat()可以保留小数
    // parseFloat(age2)
    // console.log(parseInt(age2), parseFloat(age2))

    //两数求和
    let num1 = +prompt("请输入第一个数字")//加上一个加号就直接将字符串类型转换为数值型
    let num2 = +prompt('请输入第二个数字') 
    alert(`两个数相加的和为：${num1 + num2}`)
  </script>
</body>
</html>